#ifndef __QUEUE_H_
#define __QUEUE_H_

#define MESSAGE_MAXLEN 256

typedef struct queue_record {
	char message[MESSAGE_MAXLEN];
	struct queue_record *next;
} record_t;

typedef struct lock_free_queue {
	record_t *tail;
	record_t *head;
} queue_t;

queue_t *queue_create();
void queue_destroy(queue_t *queue);

void enqueue(queue_t *queue, char *data);
char *dequeue(queue_t *queue);

#endif // __QUEUE_H_
